/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package clienteservidor.servidor;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

/**
 *
 * @author Andrés Gaitán
 */
public class HiloCliente implements Runnable
{
    private Socket cliente;

    public HiloCliente(Socket cliente)
    {
        this.cliente = cliente;
    }
    
    public Socket getCliente()
    {
        return cliente;
    }

    public void setCliente(Socket cliente)
    {
        this.cliente = cliente;
    }

    public void run()
    {
        int cont = 1;
        try
        {
            BufferedReader buffer = new BufferedReader(new InputStreamReader(cliente.getInputStream()));
            PrintWriter pw = new PrintWriter(cliente.getOutputStream(), true);
            boolean stop = false;
            while (!stop)
            {
                String texto = buffer.readLine();
                if (texto.equals("Chao"))
                    stop = true;
                System.out.println("Mensaje Recibido #" + cont + ":  \"" + texto + "\" del cliente: " + cliente.getInetAddress());
                String resp = "El mensaje: \"" + texto + "\" fue recibido correctamente";
                if (!stop)
                {
                    pw.println(resp);
                    System.out.println("Mensaje enviado: " + resp + " al cliente:" + cliente.getInetAddress() + "\n");
                    cont++;
                }
            }
            if (stop)
                System.out.println("\tUn cliente cerro la conexion!!!\n");
        }catch (IOException e)
        {
            System.err.println("Error de tipo IOException: " + e.getMessage());
            e.printStackTrace();
        }
    }
}
